#include <iostream>

using namespace std;

const int N = 1e4 + 10;

int x, y, p;
char f[N][N];

// x = (x + y) % p 
// y = (x + y + y) % p
char dfs(int x, int y)
{
	if(f[x][y]) return f[x][y];//在备忘录中，直接输出

	f[x][y] = '3';//标记这个位置已经访问过了，之后再遇到，表示平局

	if(x == 0) return f[x][y] = '1';
	if(y == 0) return f[x][y] = '2';	
	return f[x][y] = dfs((x + y) % p, (x + y + y) % p);
}

int main()
{
	int t; cin >> t >> p;
	while(t--)
	{		
		cin >> x >> y;
		char ret = dfs(x, y);
		if(ret == '3') cout << "error" << endl;
		else cout << ret << endl;
	}

	return 0;
}

